wayland: destroy subsurfaces along with parents
authorOlivier Fourdan <ofourdan@redhat.com>
Wed, 23 Nov 2016 13:45:16 +0000 (14:45 +0100)
committerOlivier Fourdan <ofourdan@redhat.com>
Mon, 5 Dec 2016 09:56:41 +0000 (10:56 +0100)
Wayland subsurfaces can have other native window parents, but those need
to be destroyed along with the rest of the window hierarchy otherwise
an assert() is reached.

https://bugzilla.gnome.org/show_bug.cgi?id=774915

gdk/gdkwindow.c

index 9ddec1bf08b95a7aa79fd99bc9c15b62fd9fbf01..f232f36d2370f3840c80ce575308f6266e5d33b6 100644 (file)
@@ -1937,6 +1937,7 @@ _gdk_window_destroy_hierarchy (GdkWindow *window,
     case GDK_WINDOW_CHILD:
     case GDK_WINDOW_TEMP:
     case GDK_WINDOW_FOREIGN:
+    case GDK_WINDOW_SUBSURFACE:
       if (window->window_type == GDK_WINDOW_FOREIGN && !foreign_destroy)
        {
          /* Logically, it probably makes more sense to send